package model

// GetFileGroupsResponse 获取文件存储分类相应
type GetFileGroupsResponse struct {
	CommonResponse
	Data FileGroupList `json:"data"`
}

type FileGroupList struct {
	List []FileGroupItem `json:"list"`
}

// FileGroupItem 文件存储分组项
type FileGroupItem struct {
	// GroupID 分组ID
	GroupID int64  `json:"group_id"`
	Name    string `json:"name"`

	// ParentID 父分类ID
	ParentID int64 `json:"parent_id"`
	Sort     int   `json:"sort"`

	// IsDelete 是否删除 0-否 1-是
	IsDelete int64 `json:"is_delete"`

	// StoreID 存储引擎ID
	StoreID    int64  `json:"store_id"`
	CreateTime string `json:"create_time"`
	UpdateTime string `json:"update_time"`
}

// UploadResponse 上传文件响应
type UploadResponse struct {
	CommonResponse
	Data UploadResult `json:"data"`
}

type UploadResult struct {
	FileInfo UploadFileInfo `json:"fileInfo"`
}

type UploadFileInfo struct {
	GroupID     int64  `json:"group_id"`
	Channel     int64  `json:"channel"`
	Storage     string `json:"storage"`
	Domain      string `json:"domain"`
	FileName    string `json:"file_name"`
	FilePath    string `json:"file_path"`
	FileSize    int64  `json:"file_size"`
	FileEXT     string `json:"file_ext"`
	FileType    int64  `json:"file_type"`
	StoreID     int64  `json:"store_id"`
	CreateTime  string `json:"create_time"`
	UpdateTime  string `json:"update_time"`
	FileID      int64  `json:"file_id,string"`
	PreviewURL  string `json:"preview_url"`
	ExternalURL string `json:"external_url"`
}
